package com.esm.service;

import net.sf.json.JSONArray;

/**
 * AttendService
 * 员工出勤服务层
 * @author 魏长均
 *
 */
public interface AttendService 
{
	/**
	 * 获取当前时间年加班数据作为默认的加载项
	 * @param state_zxk	工作状态
	 * @param currentYear	当前年
	 * @param page	当前页码
	 * @param pageSize	分页条数
	 * @return	当前年加班数据的结果集
	 * @author 魏长均
	 */
	public JSONArray getCurrentYearOTimeDefaultLoad(String state_zxk,int currentYear,int page,int pageSize);
	/**
	 * 获取当前时间年加班数据作为默认的加载项
	 * @param state_zxk	工作状态
	 * @param selectYear	当前年
	 * @param page	当前页码
	 * @param pageSize	分页条数
	 * @return	当前年加班数据的结果集
	 * @author 魏长均
	 */
	public JSONArray getSelectYearOTimeLoad(String state_zxk,int selectYear,int page,int pageSize);
	
	/**
	 * 获取当前时间年加班数据作为默认的加载项
	 * @param state_zxk	工作状态
	 * @param selectYear	当前年
	 * @param dep_id	部门id号
	 * @param page	当前页码
	 * @param pageSize	分页条数
	 * @return	当前年加班数据的结果集
	 * @author 魏长均
	 */
	public JSONArray getSelectDeptYearOTimeLoad(String state_zxk,int selectYear,int dep_id,int page,int pageSize);
	
	/**
	 *  获取当前时间年加班数据
	 * @param state_zxk	工作状态
	 * @param selectYear	当前年
	 * @param uid		员工uid
	 * @param page	当前页码
	 * @param pageSize	分页条数
	 * @return	当前年加班数据的结果集
	 * @author 魏长均
	 */
	public JSONArray getSelectDempYearOTimeLoad(String state_zxk,int selectYear,int uid,int page,int pageSize);
	
	/**
	 * 获取当前年、月加班数据作
	 * @param state_zxk		工作状态
	 * @param selectYear		选择年
	 * @param selectMonth	选择月
	 * @param page	当前页码
	 * @param pageSize	分页条数
	 * @return	当前年、月加班数据的结果集
	 * @author 魏长均
	 */
	public JSONArray getYrMthOTimeLoad(String state_zxk,int selectYear,int selectMonth,int page,int pageSize);
	
	/**
	 * 获取当前年、月加班数据
	 * @param state_zxk		工作状态
	 * @param selectYear		选择年
	 * @param selectMonth	选择月
	 * @param dep_id	部门id
	 *  @param page	当前页码
	 * @param pageSize	分页条数
	 * @return	当前年、月加班数据的结果集
	 * @author 魏长均
	 */
	public JSONArray getDeptYrMthOTimeLoad(String state_zxk,int selectYear,int selectMonth,int dep_id,int page,int pageSize);
	
	/**
	 *  获取当前年、月加班数据
	 * @param state_zxk		工作状态
	 * @param selectYear		选择年
	 * @param selectMonth	选择月
	 * @param uid		 员工uid
	 * @param page	当前页码
	 * @param pageSize	分页条数
	 * @return	当前年、月加班数据的结果集
	 * @author 魏长均
	 */
	public JSONArray getDempYrMthOTimeLoad(String state_zxk,int selectYear,int selectMonth,int uid,int page,int pageSize);
	
	/**
	 * 获取当前年、月、日加班数据作为默认的加载项
	 * @param state_zxk	工作状态
	 * @param selectYear	选择年
	 * @param currentMonth		选择月
	 * @param selectDay	选择日
	 * @param page	当前页码
	 * @param pageSize	分页条数
	 * @return	select年、月、日加班数据的结果集
	 * @author 魏长均
	 */
	public JSONArray getYrMthDayOTimeLoad(String state_zxk,int selectYear,int selectMonth,int selectDay,int page,int pageSize);
	
	/**
	 * 获取当前年、月、日加班数据作为默认的加载项
	 * @param state_zxk	工作状态
	 * @param selectYear	选择年
	 * @param currentMonth		选择月
	 * @param selectDay	选择日
	 * @param dep_id	部门id
	 * @param page	当前页码
	 * @param pageSize	分页条数
	 * @return	select年、月、日加班数据的结果集
	 * @author 魏长均
	 */
	public JSONArray getDeptYrMthDayOTimeLoad(String state_zxk,int selectYear,int selectMonth,int selectDay,int dep_id,int page,int pageSize);
	
	/**
	 * 获取当前年、月、日加班数据作为默认的加载项
	 * @param state_zxk	工作状态
	 * @param selectYear	选择年
	 * @param currentMonth		选择月
	 * @param selectDay	选择日
	 * @param uid		员工uid
	 * @param page	当前页码
	 * @param pageSize	分页条数
	 * @return	select年、月、日加班数据的结果集
	 * @author 魏长均
	 */
	public JSONArray getDempYrMthDayOTimeLoad(String state_zxk,int selectYear,int selectMonth,int selectDay,int uid,int page,int pageSize);
	
	/**
	 * 获取工作状态为state_zxk且时间为currentYear的总条数
	 * @param state_zxk	工作状态
	 * @param currentYear	当前年数据
	 * @return	查询总条数
	 * @author 魏长均
	 */
	public int getOtimeTotalRows(String state_zxk,int currentYear);
	
	/**
	 * 获取工作状态为state_zxk且时间为currentYear的总条数
	 * @param state_zxk	工作状态
	 * @param selectYear	选择年数据
	 * @return	查询总条数
	 * @author 魏长均
	 */
	public int getSelectYearOtimeTotalRows(String state_zxk,int selectYear);

	/**
	 *根据部门id获取工作状态为state_zxk且时间为currentYear的总条数
	 * @param state_zxk	工作状态
	 * @param selectYear	选择年
	 * @param dep_id	部门id
	 * @return	查询总条数
	 * @author 魏长均
	 */
	public int getSelectDeptYearOtimeTotalRows(String state_zxk,int selectYear,int dep_id);
	
	/**
	 * 根据员工uid获取工作状态为state_zxk且时间为currentYear的总条数
	 * @param state_zxk	工作状态
	 * @param selectYear
	 * @param uid	员工id
	 * @return	查询总条数
	 * @author 魏长均
	 */
	public int getSelectDempYearOtimeTotalRows(String state_zxk,int selectYear,int uid);
	
	/**
	 *  获取工作状态为state_zxk且时间为selectYear/selectMonth的总条数
	 * @param state_zxk		工作状态
	 * @param currentYear	选择年数据
	 * @param selectMonth	选择月数据
	 * @return	查询总条数
	 * @author 魏长均
	 */
	public int getYrMthOtimeTotalRows(String state_zxk,int currentYear,int selectMonth);
	
	/**
	*  获取工作状态为state_zxk且时间为selectYear/selectMonth的总条数
	 * @param state_zxk		工作状态
	 * @param currentYear	选择年数据
	 * @param selectMonth	选择月数据
	 * @param dep_id	部门id
	 * @return	查询总条数
	 * @author 魏长均
	 */
	public int getDeptYrMthOtimeTotalRows(String state_zxk,int selectYear,int selectMonth,int dep_id);
	
	/**
	 * 根据员工uid获取工作状态为state_zxk且时间为selectYear/selectMonth的总条数
	 * @param state_zxk		工作状态
	 * @param currentYear	选择年数据
	 * @param selectMonth	选择月数据
	 * @param uid		员工uid
	 * @return	查询总条数
	 * @author 魏长均
	 */
	public int getDempYrMthOtimeTotalRows(String state_zxk,int selectYear,int selectMonth,int uid);
	
	/**
	 * 获取工作状态为state_zxk且时间为selectYear、selectMonth、selectDay的总条数
	 * @param state_zxk		工作状态
	 * @param currentYear	选择年数据
	 * @param selectMonth	选择月数据
	 * @param selectDay	选择日数据
	 * @return	查询总条数
	 * @author 魏长均
	 */
	public int getYrMthDayOtimeTotalRows(String state_zxk,int currentYear,int selectMonth,int selectDay);
	
	/**
	 * 获取工作状态为state_zxk且时间为selectYear、selectMonth、selectDay的总条数
	 * @param state_zxk		工作状态
	 * @param currentYear	选择年数据
	 * @param selectMonth	选择月数据
	 * @param selectDay	选择日数据
	 * @param dep_id	部门id
	 * @return	查询总条数
	 * @author 魏长均
	 */
	public int getDeptYrMthDayOtimeTotalRows(String state_zxk,int selectYear,int selectMonth,int selectDay,int dep_id);
	
	/**
	 * 根据员工uid获取工作状态为state_zxk且时间为selectYear、selectMonth、selectDay的总条数
	 * @param state_zxk		工作状态
	 * @param currentYear	选择年数据
	 * @param selectMonth	选择月数据
	 * @param selectDay	选择日数据
	 * @param uid	员工uid
	 * @return	查询总条数
	 * @author 魏长均
	 */
	public int getDempYrMthDayOtimeTotalRows(String state_zxk,int selectYear,int selectMonth,int selectDay,int uid);
	
}
